#define MAXSIZE 100
typedef struct{
	double fenshu;

}SElemType;
typedef struct{
	SElemType *base;
	SElemType *top;
	int stacksize;

}Stack;

bool InitStack(Stack& s){
	s.base=new SElemType[MAXSIZE];
	if(!s.base)
		exit(-1);
	s.top=s.base;
	s.stacksize=MAXSIZE;
	return true;
}

int GetLength(Stack s){
	return  s.top-s.base;
}

bool IsEmpty(Stack s){
	if(s.base==s.top)
		return true;
	return false;
}

bool IsFull(Stack s){
	if(s.top-s.base==s.stacksize)
		return true;
	return false;
}

bool GetTop(Stack s, SElemType& e){
	if(IsEmpty(s))
		return false;
	e=*(s.top-1);
	return true;
}

bool Push(Stack& s, SElemType e){
	if(IsFull(s))
		return false;
	*s.top=e;
	s.top++;
	return true;
}

bool Pop (Stack& s, SElemType& e){
	if(IsEmpty(s))
		return false;
	e=*(s.top-1);
	s.top--;
	return true;
}

